/*
 * funcionesDisco.h
 *
 *  Created on: 01/12/2011
 *      Author: diegoar27
 */

#ifndef FUNCIONESDISCO_H_
#define FUNCIONESDISCO_H_

#include "../PDD.h"

#define UP 1
#define DOWN 2

long filesize(FILE* fDescriptor);
int montarDisco(char* path);
int obtenerBloque(int numBloque, int fd, char* buffer);
int escribirEnBloque(int numBloque, int fd, char* buffer);
int calcularOffset(int numBloque, long fileSize);
char *resolverTrace(t_peticion * peticion,int fd);

/*******************************************************LAS FUNCIONES DE ABAJO ESTAN***************************************************************************/
void agregarPeticionACola(t_peticion* peticion);
void insertarEnDiscoOrdenado(t_peticion *peticion, int algoritmo);
int insertarOrdenadoAscendente(t_list *lista, int sector);
int insertarOrdenadoDescendente(t_list *lista, int sector);
t_peticion *tomarSiguientePeticion(int algoritmo);
void switchListaPeticionFSCAN();
void switchListaPeticionCSCAN();
char * resolverTrace(t_peticion * peticion,int fd);

#endif /* FUNCIONESDISCO_H_ */
